//+------------------------------------------------------------------+ //| KeltnerChannel.mq4 | //| Coded by Gilani | //| Copyright © 2005, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2005, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ #property indicator_chart_window #property indicator_buffers 3 #property indicator_color1 DarkGray #property indicator_color2 DarkGray #property indicator_color3 DarkGray double upper[], middle[], lower[]; extern int MA_PERIOD = 34; extern int MA_MODE = 3; extern int PRICE_MODE = 4; extern int ATR_PERIOD = 20; extern double K = 0.1; extern bool ATR_MODE = false; int init() { SetIndexStyle(0,DRAW_LINE); SetIndexShift(0,0); SetIndexDrawBegin(0,0); SetIndexBuffer(0,upper); SetIndexStyle(1,DRAW_LINE,STYLE_DOT); SetIndexShift(1,0); SetIndexDrawBegin(1,0); SetIndexBuffer(1,middle); SetIndexStyle(2,DRAW_LINE); SetIndexShift(2,0); SetIndexDrawBegin(2,0); SetIndexBuffer(2,lower); //---- indicators //---- return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- TODO: add your code here //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int limit; int counted_bars=IndicatorCounted(); if(counted_bars<0) return(-1); if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; double avg; for(int x=0; x